Applicants' invention relates to systems and methods for predicting movements of mobile radio transceivers, such as mobile cellular telephones.
A fundamental shift is occurring that is moving mobile communication and computing together into one synergistic activity--mobile computing--a new dimension in mobile communication networks. Future mobile communication systems will support electronic mail, database and file accessing services, and multimedia services in addition to ordinary voice communication.
Due to non-uniform traffic patterns of mobile terminals in different geographical areas, a layered, or hierarchical, cell architecture is a promising solution for future mobile communication systems. In general, a hierarchical cell structure comprises orthogonal cell layers of different cell types/sizes, covering a common geographical area. A hierarchical cell structure is commonly made up of macrocells overlying microcells and picocells, which are distinguished by their spatial extent, among other characteristics. For example, a picocell is an area having a number of channel groups or an identical code, and the nominal cell radius of a picocell is often less than 200 meters. In a layered communication system, the communication bandwidth of a picocell, which is commonly indoors, can be up to 2-10 megabits per second (Mb/s), while the communication bandwidth of a macrocell is on the order of 10-100 kilobits per second (Kb/s).
Nevertheless, many challenging issues must be solved to support user-transparent, continuous communication for both speech and data across the boundaries of the different cell layers. The connectivity and configuration of such wireless networks is highly dynamic because the mobile terminals can change positions and their radio environments can change at any time. Also, due to the large differences in bandwidth between the cell layers, the communication networks currently available are not transparent for mobile data users. Conventional data caching and prefetching techniques are not efficient in this environment.
Caching and prefetching are commonly used for improving system performance in large-scale distributed computing systems. Measurements indicate that even small caches provide substantial benefits. Caches not only can reduce latency but also can greatly reduce the volume of network traffic as well as the number of server utilizations in a client-server system. Prefetching is complementary to caching, and successful prefetching of data to the local cache will increase the cache hit-rate, i.e., how frequently requested data is found in the cache.
The idea of using caches to reduce latency and network traffic is based on the properties of temporal locality of data accessing patterns of computer programs. This is described in D. Lilja, "Cache Coherence in Large-Scale Shared-Memory Multiprocessors: Issues and Comparisons," ACM Computing Surveys vol. 25, no. 3, pp. 303-338 (Sept. 1993). Temporal locality means that data recently accessed by a program are likely to be accessed again in the near future. Thus, a local copy, or cache, of the remote data that have recently been accessed is maintained so that repeated accesses to the same data can be handled locally without additional network traffic. With a well-managed cache, a substantial amount of remote data can be accessed with virtually the same efficiency as local data.
On the other hand, the existence of the multiple copies of shared data introduces a problem of maintaining consistency of the copies that is discussed in the above-cited Lilja publication. When cached data are modified, the changes must be effected in all copies, local and remote, of that data. Various cache coherence schemes can be used to keep the copies consistent according to the data sharing semantics used, but maintaining cache consistency in distributed systems is a very complicated problem involving a tactical balance between consistency, transparency, and network traffic volume.
Prefetching is another useful technique in distributed computing systems that uses knowledge about expected needs for remote data. The remote data is prefetched to a client, viz., fetched before the remote data are actually requested. The knowledge of expected needs can be determined from the client's past behavior. For example, working-sets of files are often prefetched in distributed file systems, and the working-sets are determined based on knowledge of the client's file access pattern. Another common prefetch method uses spatial locality, which refers to the high probability that a client will need data stored at addresses or pages that are neighbors of data already needed.
Current networks are not efficient in wireless data accessing in that they do not support data and service mobility. While users and terminals are mobile, their data is still configured statically in the system. Traditionally, personal/terminal mobility management included passive functions for keeping track of the locations of the users/terminals and for maintaining connections to the terminals belonging to the system.
Also, due to the large differences in data communication bandwidth between cell layers, the communication system is not transparent for mobile data users. In other words, different cell layers have large differences in performance for mobile data users. Conventional cache and prefetch management techniques are mainly designed for fixed data communication networks, and are inefficient in a communication environment, such as a cellular radiotelephone system, in which the communication channels are unpredictable and highly variable with time and location.
The issue is how to improve network performance in a hierarchical cell system, and especially how to make network utilization and management more intelligent in balancing network traffic and dynamic channel allocation, how to make intelligent data caching and prefetching management in the mobile environment, and how to provide efficiently wireless data access.
Accordingly, techniques that can predict the motion (or itinerary) of a mobile terminal user are needed for supporting connection handovers, or handoffs, between the different cell layers with high integrity.